//
//  UIViewController+LBRouter.h
//  LBRouter
//
//  Created by WuShiHai on 19/5/24.
//  Copyright (c) 2019 Lebbay. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "LBRouterDefine.h"

@interface UIViewController (LBRouter)<UINavigationControllerDelegate>

/**
 通过router进行跳转的方法

 @param URLString 链接 eg:lebbay://user/login?test=1
 @param userInfo 参数 eg:{'test':'1'}
 @return 实例
 */
- (instancetype)initWithURL:(NSString *)URLString
                   userInfo:(NSDictionary *)userInfo;

/**
 链接 eg:lebbay://user/login?test=1
 */
@property (nonatomic, strong, readonly) NSString *URLString;

/**
 参数 eg:{'test':'1'}
 */
@property (nonatomic, strong, readonly) NSDictionary *userInfo;


/**
 传入字典，根据调用的controller寻找匹配的router

 @param parameters 参数
 @return 链接
 */
+ (NSString *)routerWithParameters:(NSDictionary *)parameters;

/**
 用router打开一个页面，一般可以
 
 @return 默认YES，则为PUSH，否则Present
 */
+ (BOOL)isOpenWithPush;

/**
 用router present 一个页面，如果该方法存在值，则使用其作为导航控制器
 
 @param vc controller
 @return 导航控制器 或者 原有vc
 */
+ (UIViewController *)presentedNavigationController:(UIViewController *)vc;

@end
